/*
This file is part of buco.  
Copyright (c) 2012 Christopher Pawelzik <christopher@cpawelzik.com>

Licensed under the MIT license: http://www.opensource.org/licenses/mit-license.php 
*/ 
package buco.integrity.semantic;

import org.osgi.framework.BundleActivator;
import org.osgi.framework.BundleContext;

import buco.core.api.IntegrityCheckRegistry;
import buco.integrity.assertion.AssertionIntegrityCheck;
import buco.integrity.behaviour.BehaviourIntegrityCheck;
import buco.integrity.classes.ClassIntegrityCheck;
import buco.integrity.communication.CommunicationIntegrityCheck;
import buco.integrity.trigger.TriggerIntegrityCheck;
import buco.integrity.typehierarchy.TypeHierarchyIntegrityCheck;

public class Activator implements BundleActivator {

	@Override
	public void start(BundleContext ctx) throws Exception {
		// Register integrity check strategies
		IntegrityCheckRegistry.register(ClassIntegrityCheck.class); 		
		IntegrityCheckRegistry.register(TypeHierarchyIntegrityCheck.class); 		
		IntegrityCheckRegistry.register(CommunicationIntegrityCheck.class); 		
		IntegrityCheckRegistry.register(BehaviourIntegrityCheck.class);
		IntegrityCheckRegistry.register(AssertionIntegrityCheck.class);
		IntegrityCheckRegistry.register(TriggerIntegrityCheck.class);
	}

	@Override
	public void stop(BundleContext ctx) throws Exception {	
	}
}
